package com.why.zing.payapi.constant;

import lombok.Getter;

import java.util.Arrays;

/**
 * 支付宝交易状态
 * * 交易目前所处的状态
 * *
 * * WAIT_BUYER_PAY  交易创建，等待买家付款
 * *
 * * TRADE_CLOSED  未付款交易超时关闭，或支付完成后全额退款
 * *
 * * TRADE_SUCCESS   交易支付成功
 * *
 * * TRADE_FINISHED  交易结束，不可退款
 *
 * @author 睁眼看世界
 * @date 2020年1月22日
 */

@Getter
public enum AliPayStatusEnum {

    WAIT_BUYER_PAY("WAIT_BUYER_PAY", "交易创建，等待买家付款"),
    TRADE_CLOSED("TRADE_CLOSED", "未付款交易超时关闭，或支付完成后全额退款"),
    TRADE_SUCCESS("TRADE_SUCCESS", "交易支付成功"),
    TRADE_FINISHED("TRADE_FINISHED", "交易结束，不可退款");

    private String code;

    private String info;

    AliPayStatusEnum(String code, String info) {
        this.code = code;
        this.info = info;
    }

    public static AliPayStatusEnum getEnumByCode(String code) {
        return Arrays.stream(values()).filter(e -> e.getCode().equals(code)).findFirst().orElse(null);
    }
}
